/**
 * Copyright (C), 2024, xxxx有限公司
 * FileName: leaveEntity
 * Author:   TLVM
 * Date:     3/22/2024 2:27 PM
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.iqcctt.simpleflow;

import com.iqcctt.simpleflow.annotation.SimpleBeanFlow;
import com.iqcctt.simpleflow.annotation.SimpleFiledFlow;

import java.util.Date;

/**
 * 〈一句话功能简述〉<br>
 * 〈〉
 *
 * @author TLVM
 * @create 3/22/2024
 * @since 1.0.0
 */
@SimpleBeanFlow(controlFieldName = "state")
public class LeaveEntity {
    //请假标题
    @SimpleFiledFlow(fieldName = "stateTwo",controlFieldValue = 0,lenMin = -1)
    private String titleName;
    //请假事由
    @SimpleFiledFlow(fieldName = "stateTwo",controlFieldValue = 1,lenMin = -1,defValue = "23")
    private String leaveOrgin;

    //测试Integer默认值
    @SimpleFiledFlow(fieldName = "stateTwo",controlFieldValue = 1,lenMin = -1,defValue = "23")
    private Integer int111;

    //请假开始时间
    @SimpleFiledFlow(controlFieldValue = 0,lenMin = -1)
    private Date startTime;
    //请假结束时间
    private Date endTime;
    //状态值 "待提交/待保存","待审核","待审批","同意","不同意","审核驳回","审批驳回"
    //           0,         1,     2,      3,      4,       5,      6
    private int state;

    //状态值 "待提交/待保存","待审核","待审批","同意","不同意","审核驳回","审批驳回"
    //           0,         1,     2,      3,      4,       5,      6
    private int stateTwo;
    //请假人
    @SimpleFiledFlow(controlFieldValue = 0,lenMin = -1)
    private String submitUser;
    //请假提交时间
    @SimpleFiledFlow(controlFieldValue = 0,defValue="now")
    private Date submitTime;
    //审核人
    @SimpleFiledFlow(controlFieldValue = 0,lenMin = -1)
    private String auditorUser;
    //审核时间
    @SimpleFiledFlow(controlFieldValue = 0,lenMin = -1)
    private Date auditorTime;
    //审批人
    @SimpleFiledFlow(controlFieldValue = 1,lenMin = -1)
    private String approverUser;
    //审批时间
    @SimpleFiledFlow(controlFieldValue = 1,lenMin = -1)
    private Date approverTime;

    public String getTitleName() {
        return titleName;
    }

    public void setTitleName(String titleName) {
        this.titleName = titleName;
    }

    public String getLeaveOrgin() {
        return leaveOrgin;
    }

    public Integer getInt111() {
        return int111;
    }

    public void setInt111(Integer int111) {
        this.int111 = int111;
    }

    public void setLeaveOrgin(String leaveOrgin) {
        this.leaveOrgin = leaveOrgin;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public int getState() {
        return state;
    }

    public void setState(int state) {
        this.state = state;
    }

    public int getStateTwo() {
        return stateTwo;
    }

    public void setStateTwo(int stateTwo) {
        this.stateTwo = stateTwo;
    }

    public String getSubmitUser() {
        return submitUser;
    }

    public void setSubmitUser(String submitUser) {
        this.submitUser = submitUser;
    }

    public Date getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(Date submitTime) {
        this.submitTime = submitTime;
    }

    public String getAuditorUser() {
        return auditorUser;
    }

    public void setAuditorUser(String auditorUser) {
        this.auditorUser = auditorUser;
    }

    public Date getAuditorTime() {
        return auditorTime;
    }

    public void setAuditorTime(Date auditorTime) {
        this.auditorTime = auditorTime;
    }

    public String getApproverUser() {
        return approverUser;
    }

    public void setApproverUser(String approverUser) {
        this.approverUser = approverUser;
    }

    public Date getApproverTime() {
        return approverTime;
    }

    public void setApproverTime(Date approverTime) {
        this.approverTime = approverTime;
    }

    @Override
    public String toString() {
        return "LeaveEntity{" +
                "titleName='" + titleName + '\'' +
                ", leaveOrgin='" + leaveOrgin + '\'' +
                ", int111=" + int111 +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", state=" + state +
                ", stateTwo=" + stateTwo +
                ", submitUser='" + submitUser + '\'' +
                ", submitTime=" + submitTime +
                ", auditorUser='" + auditorUser + '\'' +
                ", auditorTime=" + auditorTime +
                ", approverUser='" + approverUser + '\'' +
                ", approverTime=" + approverTime +
                '}';
    }
}
